
//@version=5
indicator('RSI_BB subwindowV5', shorttitle='RSI_BB subwindowV5', overlay=false)

// RSI Settings
src_rsi = input(close, title='RSI Source')
length_rsi = input.int(14, title='RSI Length', minval=1)
rsi = ta.rsi(src_rsi, length_rsi)

oversold_line = input.int(30, title='RSI Oversold Threshold', minval=1)
overbought_line = input.int(70, title='RSI Overbought Threshold', minval=1)
overbought_line_2 = input.int(80, title='RSI Overbought Threshold 2', minval=1)
oversold_line_2 = input.int(20, title='RSI Oversold Threshold 2', minval=1)

// Additional RSI levels
rsi_midline = 50

// Moving Average RSI
ma_length_rsi = input.int(6, title='RSI MA Length', minval=1)
ma_rsi = ta.sma(rsi, ma_length_rsi)

// Bollinger Bands Settings
length = input.int(20, title='BB Length', minval=1)
mult = input.float(2.0, title='BB Mult', minval=0.001, maxval=50)
src_bb = rsi
basis = ta.sma(src_bb, length)
dev = mult * ta.stdev(src_bb, length)
upper = basis + dev
lower = basis - dev

// Plots

plot(basis, title='BB Basis', color=color.gray)
fill(plot(upper, title='BB Upper', color=color.red), plot(lower, title='BB Lower', color=color.green), color=color.new(color.blue, 80), title='BB Background')

plot(rsi, title='RSI Plot', color=color.purple, linewidth=2)
plot(ma_rsi, title='MA Plot', color=color.aqua, linewidth=2)

hline(oversold_line, title='RSI Oversold Line', color=color.gray, linestyle=hline.style_dotted, linewidth=1)
hline(overbought_line, title='RSI Overbought Line', color=color.gray, linestyle=hline.style_dotted, linewidth=1)

hline(overbought_line_2, title='RSI Overbought Line 2', color=color.red, linestyle=hline.style_dotted, linewidth=1)
hline(oversold_line_2, title='RSI Oversold Line 2', color=color.blue, linestyle=hline.style_dotted, linewidth=1)

hline(rsi_midline, title='RSI Midline', color=color.orange, linestyle=hline.style_dotted, linewidth=1)